package com.janko.springbootbase.controller;

/**
 * @ClassName 算法题
 * @Description 算法类 记录平时做过的一些算法题
 * @Author janko
 * @Date 2020/11/30 17:58
 */
public class ArithMetic {

    public static void main(String[] args) {
        isDeformation("aabccdefg", "gfedccbaa");
    }

    //<editor-fold desc="检查两个字符串是否互为换形词 :记录ASCII码数值的大小和相等性">
    /**
     * 检查两个字符串是否 互为换形词
     */
    public  static boolean isDeformation(String str1,String str2){
        if(null==str1 || null == str2 || str1.length()!=str2.length())
            return false;
        /**
         * 利用了 字符对应的ASCII编码数值
         */
        char[] char1 = str1.toCharArray();
        char[] char2 = str2.toCharArray();
        int[] cipin = new int[256];
        for (int i = 0; i < char1.length; i++) {
            cipin[char1[i]]++;
        }
        for (int i = 0; i < char2.length; i++) {
            if (cipin[char2[i]]-- < 0)
                return false;
        }
        System.out.println("这是一个换形词");
        return true;
    }
    //</editor-fold>
}
